package com.upup.cloud.flights.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
/**
*
*  @author author
*/
public class FlightSchedule implements Serializable {

    private static final long serialVersionUID = 1548151215259L;


    /**
    * 主键
    * 航班表
    * isNullAble:0
    */
    private Integer id;

    /**
    * 始发城市code
    * isNullAble:1
    */
    private String f;

    /**
    * 抵达城市code
    * isNullAble:1
    */
    private String d;

    /**
    * 始发城市
    * isNullAble:1
    */
    private String fs;

    /**
    * 抵达城市
    * isNullAble:1
    */
    private String ds;

    /**
    * 
    * isNullAble:1
    */
    private String day;

    /**
    * 
    * isNullAble:1
    */
    private java.time.LocalDateTime updatetime;

    /**
    * 0-国内，1-国外
    * isNullAble:1,defaultVal:0
    */
    private Integer type;

    /**
    * 分页
    * isNullAble:1
    */
    private Integer page;


    public void setId(Integer id){this.id = id;}

    public Integer getId(){return this.id;}

    public void setF(String f){this.f = f;}

    public String getF(){return this.f;}

    public void setD(String d){this.d = d;}

    public String getD(){return this.d;}

    public void setFs(String fs){this.fs = fs;}

    public String getFs(){return this.fs;}

    public void setDs(String ds){this.ds = ds;}

    public String getDs(){return this.ds;}

    public void setDay(String day){this.day = day;}

    public String getDay(){return this.day;}

    public void setUpdatetime(java.time.LocalDateTime updatetime){this.updatetime = updatetime;}

    public java.time.LocalDateTime getUpdatetime(){return this.updatetime;}

    public void setType(Integer type){this.type = type;}

    public Integer getType(){return this.type;}

    public void setPage(Integer page){this.page = page;}

    public Integer getPage(){return this.page;}
    @Override
    public String toString() {
        return "FlightSchedule{" +
                "id='" + id + '\'' +
                "f='" + f + '\'' +
                "d='" + d + '\'' +
                "fs='" + fs + '\'' +
                "ds='" + ds + '\'' +
                "day='" + day + '\'' +
                "updatetime='" + updatetime + '\'' +
                "type='" + type + '\'' +
                "page='" + page + '\'' +
            '}';
    }

    public static Builder Build(){return new Builder();}

    public static ConditionBuilder ConditionBuild(){return new ConditionBuilder();}

    public static UpdateBuilder UpdateBuild(){return new UpdateBuilder();}

    public static QueryBuilder QueryBuild(){return new QueryBuilder();}

    public static class UpdateBuilder {

        private FlightSchedule set;

        private ConditionBuilder where;

        public UpdateBuilder set(FlightSchedule set){
            this.set = set;
            return this;
        }

        public FlightSchedule getSet(){
            return this.set;
        }

        public UpdateBuilder where(ConditionBuilder where){
            this.where = where;
            return this;
        }

        public ConditionBuilder getWhere(){
            return this.where;
        }

        public UpdateBuilder build(){
            return this;
        }
    }

    public static class QueryBuilder extends FlightSchedule{
        /**
        * 需要返回的列
        */
        private Map<String,Object> fetchFields;

        public Map<String,Object> getFetchFields(){return this.fetchFields;}

        private List<Integer> idList;

        public List<Integer> getIdList(){return this.idList;}

        private Integer idSt;

        private Integer idEd;

        public Integer getIdSt(){return this.idSt;}

        public Integer getIdEd(){return this.idEd;}

        private List<String> fList;

        public List<String> getFList(){return this.fList;}


        private List<String> fuzzyF;

        public List<String> getFuzzyF(){return this.fuzzyF;}

        private List<String> rightFuzzyF;

        public List<String> getRightFuzzyF(){return this.rightFuzzyF;}
        private List<String> dList;

        public List<String> getDList(){return this.dList;}


        private List<String> fuzzyD;

        public List<String> getFuzzyD(){return this.fuzzyD;}

        private List<String> rightFuzzyD;

        public List<String> getRightFuzzyD(){return this.rightFuzzyD;}
        private List<String> fsList;

        public List<String> getFsList(){return this.fsList;}


        private List<String> fuzzyFs;

        public List<String> getFuzzyFs(){return this.fuzzyFs;}

        private List<String> rightFuzzyFs;

        public List<String> getRightFuzzyFs(){return this.rightFuzzyFs;}
        private List<String> dsList;

        public List<String> getDsList(){return this.dsList;}


        private List<String> fuzzyDs;

        public List<String> getFuzzyDs(){return this.fuzzyDs;}

        private List<String> rightFuzzyDs;

        public List<String> getRightFuzzyDs(){return this.rightFuzzyDs;}
        private List<String> dayList;

        public List<String> getDayList(){return this.dayList;}


        private List<String> fuzzyDay;

        public List<String> getFuzzyDay(){return this.fuzzyDay;}

        private List<String> rightFuzzyDay;

        public List<String> getRightFuzzyDay(){return this.rightFuzzyDay;}
        private List<java.time.LocalDateTime> updatetimeList;

        public List<java.time.LocalDateTime> getUpdatetimeList(){return this.updatetimeList;}

        private java.time.LocalDateTime updatetimeSt;

        private java.time.LocalDateTime updatetimeEd;

        public java.time.LocalDateTime getUpdatetimeSt(){return this.updatetimeSt;}

        public java.time.LocalDateTime getUpdatetimeEd(){return this.updatetimeEd;}

        private List<Integer> typeList;

        public List<Integer> getTypeList(){return this.typeList;}

        private Integer typeSt;

        private Integer typeEd;

        public Integer getTypeSt(){return this.typeSt;}

        public Integer getTypeEd(){return this.typeEd;}

        private List<Integer> pageList;

        public List<Integer> getPageList(){return this.pageList;}

        private Integer pageSt;

        private Integer pageEd;

        public Integer getPageSt(){return this.pageSt;}

        public Integer getPageEd(){return this.pageEd;}

        private QueryBuilder (){
            this.fetchFields = new HashMap<>();
        }

        public QueryBuilder idBetWeen(Integer idSt,Integer idEd){
            this.idSt = idSt;
            this.idEd = idEd;
            return this;
        }

        public QueryBuilder idGreaterEqThan(Integer idSt){
            this.idSt = idSt;
            return this;
        }
        public QueryBuilder idLessEqThan(Integer idEd){
            this.idEd = idEd;
            return this;
        }


        public QueryBuilder id(Integer id){
            setId(id);
            return this;
        }

        public QueryBuilder idList(Integer ... id){
            this.idList = solveNullList(id);
            return this;
        }

        public QueryBuilder idList(List<Integer> id){
            this.idList = id;
            return this;
        }

        public QueryBuilder fetchId(){
            setFetchFields("fetchFields","id");
            return this;
        }

        public QueryBuilder excludeId(){
            setFetchFields("excludeFields","id");
            return this;
        }

        public QueryBuilder fuzzyF (List<String> fuzzyF){
            this.fuzzyF = fuzzyF;
            return this;
        }

        public QueryBuilder fuzzyF (String ... fuzzyF){
            this.fuzzyF = solveNullList(fuzzyF);
            return this;
        }

        public QueryBuilder rightFuzzyF (List<String> rightFuzzyF){
            this.rightFuzzyF = rightFuzzyF;
            return this;
        }

        public QueryBuilder rightFuzzyF (String ... rightFuzzyF){
            this.rightFuzzyF = solveNullList(rightFuzzyF);
            return this;
        }

        public QueryBuilder f(String f){
            setF(f);
            return this;
        }

        public QueryBuilder fList(String ... f){
            this.fList = solveNullList(f);
            return this;
        }

        public QueryBuilder fList(List<String> f){
            this.fList = f;
            return this;
        }

        public QueryBuilder fetchF(){
            setFetchFields("fetchFields","f");
            return this;
        }

        public QueryBuilder excludeF(){
            setFetchFields("excludeFields","f");
            return this;
        }

        public QueryBuilder fuzzyD (List<String> fuzzyD){
            this.fuzzyD = fuzzyD;
            return this;
        }

        public QueryBuilder fuzzyD (String ... fuzzyD){
            this.fuzzyD = solveNullList(fuzzyD);
            return this;
        }

        public QueryBuilder rightFuzzyD (List<String> rightFuzzyD){
            this.rightFuzzyD = rightFuzzyD;
            return this;
        }

        public QueryBuilder rightFuzzyD (String ... rightFuzzyD){
            this.rightFuzzyD = solveNullList(rightFuzzyD);
            return this;
        }

        public QueryBuilder d(String d){
            setD(d);
            return this;
        }

        public QueryBuilder dList(String ... d){
            this.dList = solveNullList(d);
            return this;
        }

        public QueryBuilder dList(List<String> d){
            this.dList = d;
            return this;
        }

        public QueryBuilder fetchD(){
            setFetchFields("fetchFields","d");
            return this;
        }

        public QueryBuilder excludeD(){
            setFetchFields("excludeFields","d");
            return this;
        }

        public QueryBuilder fuzzyFs (List<String> fuzzyFs){
            this.fuzzyFs = fuzzyFs;
            return this;
        }

        public QueryBuilder fuzzyFs (String ... fuzzyFs){
            this.fuzzyFs = solveNullList(fuzzyFs);
            return this;
        }

        public QueryBuilder rightFuzzyFs (List<String> rightFuzzyFs){
            this.rightFuzzyFs = rightFuzzyFs;
            return this;
        }

        public QueryBuilder rightFuzzyFs (String ... rightFuzzyFs){
            this.rightFuzzyFs = solveNullList(rightFuzzyFs);
            return this;
        }

        public QueryBuilder fs(String fs){
            setFs(fs);
            return this;
        }

        public QueryBuilder fsList(String ... fs){
            this.fsList = solveNullList(fs);
            return this;
        }

        public QueryBuilder fsList(List<String> fs){
            this.fsList = fs;
            return this;
        }

        public QueryBuilder fetchFs(){
            setFetchFields("fetchFields","fs");
            return this;
        }

        public QueryBuilder excludeFs(){
            setFetchFields("excludeFields","fs");
            return this;
        }

        public QueryBuilder fuzzyDs (List<String> fuzzyDs){
            this.fuzzyDs = fuzzyDs;
            return this;
        }

        public QueryBuilder fuzzyDs (String ... fuzzyDs){
            this.fuzzyDs = solveNullList(fuzzyDs);
            return this;
        }

        public QueryBuilder rightFuzzyDs (List<String> rightFuzzyDs){
            this.rightFuzzyDs = rightFuzzyDs;
            return this;
        }

        public QueryBuilder rightFuzzyDs (String ... rightFuzzyDs){
            this.rightFuzzyDs = solveNullList(rightFuzzyDs);
            return this;
        }

        public QueryBuilder ds(String ds){
            setDs(ds);
            return this;
        }

        public QueryBuilder dsList(String ... ds){
            this.dsList = solveNullList(ds);
            return this;
        }

        public QueryBuilder dsList(List<String> ds){
            this.dsList = ds;
            return this;
        }

        public QueryBuilder fetchDs(){
            setFetchFields("fetchFields","ds");
            return this;
        }

        public QueryBuilder excludeDs(){
            setFetchFields("excludeFields","ds");
            return this;
        }

        public QueryBuilder fuzzyDay (List<String> fuzzyDay){
            this.fuzzyDay = fuzzyDay;
            return this;
        }

        public QueryBuilder fuzzyDay (String ... fuzzyDay){
            this.fuzzyDay = solveNullList(fuzzyDay);
            return this;
        }

        public QueryBuilder rightFuzzyDay (List<String> rightFuzzyDay){
            this.rightFuzzyDay = rightFuzzyDay;
            return this;
        }

        public QueryBuilder rightFuzzyDay (String ... rightFuzzyDay){
            this.rightFuzzyDay = solveNullList(rightFuzzyDay);
            return this;
        }

        public QueryBuilder day(String day){
            setDay(day);
            return this;
        }

        public QueryBuilder dayList(String ... day){
            this.dayList = solveNullList(day);
            return this;
        }

        public QueryBuilder dayList(List<String> day){
            this.dayList = day;
            return this;
        }

        public QueryBuilder fetchDay(){
            setFetchFields("fetchFields","day");
            return this;
        }

        public QueryBuilder excludeDay(){
            setFetchFields("excludeFields","day");
            return this;
        }

        public QueryBuilder updatetimeBetWeen(java.time.LocalDateTime updatetimeSt,java.time.LocalDateTime updatetimeEd){
            this.updatetimeSt = updatetimeSt;
            this.updatetimeEd = updatetimeEd;
            return this;
        }

        public QueryBuilder updatetimeGreaterEqThan(java.time.LocalDateTime updatetimeSt){
            this.updatetimeSt = updatetimeSt;
            return this;
        }
        public QueryBuilder updatetimeLessEqThan(java.time.LocalDateTime updatetimeEd){
            this.updatetimeEd = updatetimeEd;
            return this;
        }


        public QueryBuilder updatetime(java.time.LocalDateTime updatetime){
            setUpdatetime(updatetime);
            return this;
        }

        public QueryBuilder updatetimeList(java.time.LocalDateTime ... updatetime){
            this.updatetimeList = solveNullList(updatetime);
            return this;
        }

        public QueryBuilder updatetimeList(List<java.time.LocalDateTime> updatetime){
            this.updatetimeList = updatetime;
            return this;
        }

        public QueryBuilder fetchUpdatetime(){
            setFetchFields("fetchFields","updatetime");
            return this;
        }

        public QueryBuilder excludeUpdatetime(){
            setFetchFields("excludeFields","updatetime");
            return this;
        }

        public QueryBuilder typeBetWeen(Integer typeSt,Integer typeEd){
            this.typeSt = typeSt;
            this.typeEd = typeEd;
            return this;
        }

        public QueryBuilder typeGreaterEqThan(Integer typeSt){
            this.typeSt = typeSt;
            return this;
        }
        public QueryBuilder typeLessEqThan(Integer typeEd){
            this.typeEd = typeEd;
            return this;
        }


        public QueryBuilder type(Integer type){
            setType(type);
            return this;
        }

        public QueryBuilder typeList(Integer ... type){
            this.typeList = solveNullList(type);
            return this;
        }

        public QueryBuilder typeList(List<Integer> type){
            this.typeList = type;
            return this;
        }

        public QueryBuilder fetchType(){
            setFetchFields("fetchFields","type");
            return this;
        }

        public QueryBuilder excludeType(){
            setFetchFields("excludeFields","type");
            return this;
        }

        public QueryBuilder pageBetWeen(Integer pageSt,Integer pageEd){
            this.pageSt = pageSt;
            this.pageEd = pageEd;
            return this;
        }

        public QueryBuilder pageGreaterEqThan(Integer pageSt){
            this.pageSt = pageSt;
            return this;
        }
        public QueryBuilder pageLessEqThan(Integer pageEd){
            this.pageEd = pageEd;
            return this;
        }


        public QueryBuilder page(Integer page){
            setPage(page);
            return this;
        }

        public QueryBuilder pageList(Integer ... page){
            this.pageList = solveNullList(page);
            return this;
        }

        public QueryBuilder pageList(List<Integer> page){
            this.pageList = page;
            return this;
        }

        public QueryBuilder fetchPage(){
            setFetchFields("fetchFields","page");
            return this;
        }

        public QueryBuilder excludePage(){
            setFetchFields("excludeFields","page");
            return this;
        }
        private <T>List<T> solveNullList(T ... objs){
            if (objs != null){
            List<T> list = new ArrayList<>();
                for (T item : objs){
                    if (item != null){
                        list.add(item);
                    }
                }
                return list;
            }
            return null;
        }

        public QueryBuilder fetchAll(){
            this.fetchFields.put("AllFields",true);
            return this;
        }

        public QueryBuilder addField(String ... fields){
            List<String> list = new ArrayList<>();
            if (fields != null){
                for (String field : fields){
                    list.add(field);
                }
            }
            this.fetchFields.put("otherFields",list);
            return this;
        }
        @SuppressWarnings("unchecked")
        private void setFetchFields(String key,String val){
            Map<String,Boolean> fields= (Map<String, Boolean>) this.fetchFields.get(key);
            if (fields == null){
                fields = new HashMap<>();
            }
            fields.put(val,true);
            this.fetchFields.put(key,fields);
        }

        public FlightSchedule build(){return this;}
    }


    public static class ConditionBuilder{
        private List<Integer> idList;

        public List<Integer> getIdList(){return this.idList;}

        private Integer idSt;

        private Integer idEd;

        public Integer getIdSt(){return this.idSt;}

        public Integer getIdEd(){return this.idEd;}

        private List<String> fList;

        public List<String> getFList(){return this.fList;}


        private List<String> fuzzyF;

        public List<String> getFuzzyF(){return this.fuzzyF;}

        private List<String> rightFuzzyF;

        public List<String> getRightFuzzyF(){return this.rightFuzzyF;}
        private List<String> dList;

        public List<String> getDList(){return this.dList;}


        private List<String> fuzzyD;

        public List<String> getFuzzyD(){return this.fuzzyD;}

        private List<String> rightFuzzyD;

        public List<String> getRightFuzzyD(){return this.rightFuzzyD;}
        private List<String> fsList;

        public List<String> getFsList(){return this.fsList;}


        private List<String> fuzzyFs;

        public List<String> getFuzzyFs(){return this.fuzzyFs;}

        private List<String> rightFuzzyFs;

        public List<String> getRightFuzzyFs(){return this.rightFuzzyFs;}
        private List<String> dsList;

        public List<String> getDsList(){return this.dsList;}


        private List<String> fuzzyDs;

        public List<String> getFuzzyDs(){return this.fuzzyDs;}

        private List<String> rightFuzzyDs;

        public List<String> getRightFuzzyDs(){return this.rightFuzzyDs;}
        private List<String> dayList;

        public List<String> getDayList(){return this.dayList;}


        private List<String> fuzzyDay;

        public List<String> getFuzzyDay(){return this.fuzzyDay;}

        private List<String> rightFuzzyDay;

        public List<String> getRightFuzzyDay(){return this.rightFuzzyDay;}
        private List<java.time.LocalDateTime> updatetimeList;

        public List<java.time.LocalDateTime> getUpdatetimeList(){return this.updatetimeList;}

        private java.time.LocalDateTime updatetimeSt;

        private java.time.LocalDateTime updatetimeEd;

        public java.time.LocalDateTime getUpdatetimeSt(){return this.updatetimeSt;}

        public java.time.LocalDateTime getUpdatetimeEd(){return this.updatetimeEd;}

        private List<Integer> typeList;

        public List<Integer> getTypeList(){return this.typeList;}

        private Integer typeSt;

        private Integer typeEd;

        public Integer getTypeSt(){return this.typeSt;}

        public Integer getTypeEd(){return this.typeEd;}

        private List<Integer> pageList;

        public List<Integer> getPageList(){return this.pageList;}

        private Integer pageSt;

        private Integer pageEd;

        public Integer getPageSt(){return this.pageSt;}

        public Integer getPageEd(){return this.pageEd;}


        public ConditionBuilder idBetWeen(Integer idSt,Integer idEd){
            this.idSt = idSt;
            this.idEd = idEd;
            return this;
        }

        public ConditionBuilder idGreaterEqThan(Integer idSt){
            this.idSt = idSt;
            return this;
        }
        public ConditionBuilder idLessEqThan(Integer idEd){
            this.idEd = idEd;
            return this;
        }


        public ConditionBuilder idList(Integer ... id){
            this.idList = solveNullList(id);
            return this;
        }

        public ConditionBuilder idList(List<Integer> id){
            this.idList = id;
            return this;
        }

        public ConditionBuilder fuzzyF (List<String> fuzzyF){
            this.fuzzyF = fuzzyF;
            return this;
        }

        public ConditionBuilder fuzzyF (String ... fuzzyF){
            this.fuzzyF = solveNullList(fuzzyF);
            return this;
        }

        public ConditionBuilder rightFuzzyF (List<String> rightFuzzyF){
            this.rightFuzzyF = rightFuzzyF;
            return this;
        }

        public ConditionBuilder rightFuzzyF (String ... rightFuzzyF){
            this.rightFuzzyF = solveNullList(rightFuzzyF);
            return this;
        }

        public ConditionBuilder fList(String ... f){
            this.fList = solveNullList(f);
            return this;
        }

        public ConditionBuilder fList(List<String> f){
            this.fList = f;
            return this;
        }

        public ConditionBuilder fuzzyD (List<String> fuzzyD){
            this.fuzzyD = fuzzyD;
            return this;
        }

        public ConditionBuilder fuzzyD (String ... fuzzyD){
            this.fuzzyD = solveNullList(fuzzyD);
            return this;
        }

        public ConditionBuilder rightFuzzyD (List<String> rightFuzzyD){
            this.rightFuzzyD = rightFuzzyD;
            return this;
        }

        public ConditionBuilder rightFuzzyD (String ... rightFuzzyD){
            this.rightFuzzyD = solveNullList(rightFuzzyD);
            return this;
        }

        public ConditionBuilder dList(String ... d){
            this.dList = solveNullList(d);
            return this;
        }

        public ConditionBuilder dList(List<String> d){
            this.dList = d;
            return this;
        }

        public ConditionBuilder fuzzyFs (List<String> fuzzyFs){
            this.fuzzyFs = fuzzyFs;
            return this;
        }

        public ConditionBuilder fuzzyFs (String ... fuzzyFs){
            this.fuzzyFs = solveNullList(fuzzyFs);
            return this;
        }

        public ConditionBuilder rightFuzzyFs (List<String> rightFuzzyFs){
            this.rightFuzzyFs = rightFuzzyFs;
            return this;
        }

        public ConditionBuilder rightFuzzyFs (String ... rightFuzzyFs){
            this.rightFuzzyFs = solveNullList(rightFuzzyFs);
            return this;
        }

        public ConditionBuilder fsList(String ... fs){
            this.fsList = solveNullList(fs);
            return this;
        }

        public ConditionBuilder fsList(List<String> fs){
            this.fsList = fs;
            return this;
        }

        public ConditionBuilder fuzzyDs (List<String> fuzzyDs){
            this.fuzzyDs = fuzzyDs;
            return this;
        }

        public ConditionBuilder fuzzyDs (String ... fuzzyDs){
            this.fuzzyDs = solveNullList(fuzzyDs);
            return this;
        }

        public ConditionBuilder rightFuzzyDs (List<String> rightFuzzyDs){
            this.rightFuzzyDs = rightFuzzyDs;
            return this;
        }

        public ConditionBuilder rightFuzzyDs (String ... rightFuzzyDs){
            this.rightFuzzyDs = solveNullList(rightFuzzyDs);
            return this;
        }

        public ConditionBuilder dsList(String ... ds){
            this.dsList = solveNullList(ds);
            return this;
        }

        public ConditionBuilder dsList(List<String> ds){
            this.dsList = ds;
            return this;
        }

        public ConditionBuilder fuzzyDay (List<String> fuzzyDay){
            this.fuzzyDay = fuzzyDay;
            return this;
        }

        public ConditionBuilder fuzzyDay (String ... fuzzyDay){
            this.fuzzyDay = solveNullList(fuzzyDay);
            return this;
        }

        public ConditionBuilder rightFuzzyDay (List<String> rightFuzzyDay){
            this.rightFuzzyDay = rightFuzzyDay;
            return this;
        }

        public ConditionBuilder rightFuzzyDay (String ... rightFuzzyDay){
            this.rightFuzzyDay = solveNullList(rightFuzzyDay);
            return this;
        }

        public ConditionBuilder dayList(String ... day){
            this.dayList = solveNullList(day);
            return this;
        }

        public ConditionBuilder dayList(List<String> day){
            this.dayList = day;
            return this;
        }

        public ConditionBuilder updatetimeBetWeen(java.time.LocalDateTime updatetimeSt,java.time.LocalDateTime updatetimeEd){
            this.updatetimeSt = updatetimeSt;
            this.updatetimeEd = updatetimeEd;
            return this;
        }

        public ConditionBuilder updatetimeGreaterEqThan(java.time.LocalDateTime updatetimeSt){
            this.updatetimeSt = updatetimeSt;
            return this;
        }
        public ConditionBuilder updatetimeLessEqThan(java.time.LocalDateTime updatetimeEd){
            this.updatetimeEd = updatetimeEd;
            return this;
        }


        public ConditionBuilder updatetimeList(java.time.LocalDateTime ... updatetime){
            this.updatetimeList = solveNullList(updatetime);
            return this;
        }

        public ConditionBuilder updatetimeList(List<java.time.LocalDateTime> updatetime){
            this.updatetimeList = updatetime;
            return this;
        }

        public ConditionBuilder typeBetWeen(Integer typeSt,Integer typeEd){
            this.typeSt = typeSt;
            this.typeEd = typeEd;
            return this;
        }

        public ConditionBuilder typeGreaterEqThan(Integer typeSt){
            this.typeSt = typeSt;
            return this;
        }
        public ConditionBuilder typeLessEqThan(Integer typeEd){
            this.typeEd = typeEd;
            return this;
        }


        public ConditionBuilder typeList(Integer ... type){
            this.typeList = solveNullList(type);
            return this;
        }

        public ConditionBuilder typeList(List<Integer> type){
            this.typeList = type;
            return this;
        }

        public ConditionBuilder pageBetWeen(Integer pageSt,Integer pageEd){
            this.pageSt = pageSt;
            this.pageEd = pageEd;
            return this;
        }

        public ConditionBuilder pageGreaterEqThan(Integer pageSt){
            this.pageSt = pageSt;
            return this;
        }
        public ConditionBuilder pageLessEqThan(Integer pageEd){
            this.pageEd = pageEd;
            return this;
        }


        public ConditionBuilder pageList(Integer ... page){
            this.pageList = solveNullList(page);
            return this;
        }

        public ConditionBuilder pageList(List<Integer> page){
            this.pageList = page;
            return this;
        }

        private <T>List<T> solveNullList(T ... objs){
            if (objs != null){
            List<T> list = new ArrayList<>();
                for (T item : objs){
                    if (item != null){
                        list.add(item);
                    }
                }
                return list;
            }
            return null;
        }

        public ConditionBuilder build(){return this;}
    }

    public static class Builder {

        private FlightSchedule obj;

        public Builder(){
            this.obj = new FlightSchedule();
        }

        public Builder id(Integer id){
            this.obj.setId(id);
            return this;
        }
        public Builder f(String f){
            this.obj.setF(f);
            return this;
        }
        public Builder d(String d){
            this.obj.setD(d);
            return this;
        }
        public Builder fs(String fs){
            this.obj.setFs(fs);
            return this;
        }
        public Builder ds(String ds){
            this.obj.setDs(ds);
            return this;
        }
        public Builder day(String day){
            this.obj.setDay(day);
            return this;
        }
        public Builder updatetime(java.time.LocalDateTime updatetime){
            this.obj.setUpdatetime(updatetime);
            return this;
        }
        public Builder type(Integer type){
            this.obj.setType(type);
            return this;
        }
        public Builder page(Integer page){
            this.obj.setPage(page);
            return this;
        }
        public FlightSchedule build(){return obj;}
    }

}
